The present invention generally relates to receivers in a communication system. More particularly, the present invention relates to receivers capable of symbol decoding based on the information on previous, current and next symbols in a wireless communication system.
In wireless communication systems, inter-symbol-interference (ISI) may result from multipath propagation and/or filtering. Transmitter filtering may generally be required to reduce or minimize out-of-band spurious emission. Moreover, receiver filtering may be required to eliminate adjacent band interference and receiver noise. Since multipath propagation is common in wireless channels, the ISI effect needs to be mitigated at the receiver.
Generally, a bitwise decoder may decode one symbol at a time while ignoring the ISI effect. A decision-feedback (DF) decoder may decode a current symbol at symbol rate by using the decision of a previous symbol (or previous symbols) to estimate and remove the interference from the previous symbol(s), while a maximum-likelihood (ML) decoder may optimally find the most-likely stream of decoded bits.
For a Gaussian Frequency Shift Keying (GFSK) signal, discriminator-based GFSK receivers were described in “Bluetooth Demodulation Algorithms and Their Performance” by R. Schiphorst, et. al. and “A 2.4-GHz CMOS Transceiver for Bluetooth” by H. Darabi, et. al. However, these simple bitwise discriminator-based receivers may not achieve desirable performance. In “Performance of the Bluetooth System in Fading Dispersive Channels and Interference” by A. Soltanian, et. al. (Hereinafter “Soltanian”), an (near) ML decoder was disclosed to take into consideration the effect of ISI caused by a Gaussian filter in a transmitter, which may enhance the sensitivity performance of a receiver against a bitwise decoder. However, the near ML decoder may be too complicated to be implemented in hand-held devices such as Bluetooth headsets. “Noncoherent Sequence Detection Receiver for Bluetooth Systems” by L. Lampe, R. Schober, and M. Jain disclosed another near ML decoder using Laurent decomposition proposed in “Exact and Approximate Construction of Digital Phase Modulations by Superposition of Amplitude Modulated Pulses (AMP)” by P. Laurent (hereinafter “Laurent”) and a Viterbi decoder to find the most-likely stream of decoded bits. However, the performance of such a near ML decoder may be sensitive to uncertain parameters such as phase, frequency offset and/or modulation index h.
Furthermore, in “Performance of Sequence Estimation Scheme of Narrowband Digital FM Signals with Limiter-Discriminator Detection” by Y. Iwanami, sub-optimal DF and/or ML receivers with discriminator outputs were explained for digital FM signals assuming noise at the discriminator outputs is additive zero-mean independent identically distributed (i.i.d.) Gaussian noise. Although these receivers may be far from the optimal receiver due to their noise characteristics, significant performance gain is claimed.
Bluetooth is a standard for wireless communication devices. In the radio specification such as “Specification of the Bluetooth System, 2.0+EDR” published on Nov. 4, 2004, GFSK modulation was used for “Basic Rate” transmission, in which bandwidth-period product (BT) of the GFSK modulation shall be 0.5 (i.e., BT=0.5), and the modulation index shall be between 0.28 and 0.35. Moreover, for GFSK modulation, one symbol represents one bit, of which a binary “1” is represented by a GFSK waveform with a positive frequency deviation and a binary “0” is represented by a GFSK waveform with a negative frequency deviation.
FIG. 1 is a diagram illustrating a transmitter and a receiver in a conventional communication system 10 using GFSK modulation. Referring to FIG. 1, binary data of 1's and 0's may be converted to non-return-to-zero (NRZ) signal by an NRZ converter 100 before passing through a Gaussian filter 102 followed by a frequency modulator 104. Let bn (either “0” or “1”) denote the n-th information bit. For a given information bit stream, the output of the NRZ converter 100 can be represented as:
            x      ⁡              (        t        )              =                  ∑                  n          =                      -            ∞                          ∞            ⁢                          ⁢                                    (                          -              1                        )                                              b              n                        +            1                          ⁢                  Π          ⁡                      (                          t              -                              nT                s                                      )                                where            Π      ⁡              (        t        )              =          {                                                  1              /                              T                s                                                                                                          -                                      T                    s                                                  /                2                            ≤              t              ≤                                                T                  s                                /                2                                                                          0                                              Otherwise              .                                          
In the above, Ts is the symbol period and is 1 μs for Bluetooth. After being modulated by the frequency modulator 104 (with details to be given later), the binary data may then be up-converted to a radio frequency (RF) signal and transmitted as an RF signal by an RF transmitter 106. At the receiver side, a corresponding receiving path for a received RF signal may include an RF receiver and filter 108, a frequency discriminator 110 and a bitwise decoder 114. After the received RF signal is down-converted to a complex baseband signal including a real part “I” and an imaginary part “Q” by the RF receiver and filter 108, frequency deviation information of the real part I and the imaginary part Q may be extracted to generate a received symbol rn accordingly by the frequency discriminator 110. The bitwise decoder 114, by sampling an output of the frequency discriminator 110 at a correct timing, may decode the received symbol rn generated by the frequency discriminator 110 as a binary “1” when rn is positive, or otherwise a binary “0” when rn is negative. More details of the GFSK modulation and other alternative architectures can also be found in “Digital Communications, 4-th Ed.” by J. Proakis (hereinafter “Proakis”).
FIG. 2A is a block diagram of the frequency discriminator 110 and bitwise decoder 114 illustrated in FIG. 1. Referring to FIG. 2A, the frequency discriminator 110 may include a phase detector 11, a differentiator 12 and an integrate-and-dump filter 13. After the received RF signal is down-converted to the complex baseband signals I and Q and filtered by a receiving filter (the filter 108). The phase detector 11 may typically compute at an integer multiple times of the symbol rate, and its output based on the received I and Q samples indexed by “m” may be represented as follows:
      ϕ    m    =                    tan                  -          1                    ⁡              (                              Q            m                                I            m                          )              .  
In the above, m is used as an index to differentiate from the “n” used for the n-th symbol. The differentiator 12 coupled with the phase detector 11 may derive a metric Δφm proportional to the frequency deviation, based on the sequence φm, as follows:Δφm=φm−φm−1.
Since Δφm may typically be computed at an integer multiple time of the symbol rate and rn may only be needed at exactly the symbol rate, a symbol timing recover circuitry 13 may typically be used to derive the correct symbol timing from the Δφm sequence and to properly down-sample the Δφm sequence to obtain the rn sequence. Next, the bitwise decoder 114 may decode the received symbol rn to generate a binary “1” bit if rn is positive, and a binary “0” bit if rn is negative.
Referring again to FIG. 1, if the filtering effect at both transmitter side and receiver side is neglected, the discriminator output corresponding to a transmitted data bit “1” is a scaled transmitted Gaussian pulse: πhΠ(t)*g(t), with a detailed description of the transmitted Gaussian pulse provided later in association with FIGS. 3-4. In this case, the bitwise decoder 114, with help of the timing recovery circuitry 13, may sample the frequency discriminator output at its positive peak and output a decoded bit “1” with properly recovered symbol timing. Similarly, a transmitted “0” may appear at the frequency discriminator output as a negative scaled transmitted Gaussian pulse denoted as −πhΠ(t)*g(t), and the bitwise decoder 114 may sample the discriminator output at its negative peak and output a decoded bit 0. In summary, a conventional frequency discriminator 110, which includes a phase detector 11, a differentiator 12, and a timing recovery circuitry 13, is described. This frequency discriminator may be used to obtain the rn sequence for GFSK symbol decoding.
Let b be an N×1 information vector having the information bit bn as its elements, then b may be represented as:b=[b0b1 . . . bn . . . bN−1]T,where bnε{0, 1} and n is an index of symbol time.
Also let r be an N×1 received vector having the received symbol rn generated by the frequency discriminator 110 as its elements, then r may be represented as:r=[r0r1 . . . rn . . . rN−1]T.
Note that the numbers of the elements of the information vector b and the received vector rn may be different due to preamble bits, which may be assumed to be the information bits in the information vector b.
Moreover, r may also be represented as:r=x(b)+n, where the N×1 vector x(b) may represent the signals without noise, but may include effects due to every filtering such as the Gaussian filter, the transmitter filter and the filtering at the receiver. The filtering by the wireless channel may usually be negligible. Moreover, mapping from the information vector b to the vector x(b) may be pre-calculated as:
            x      n        =                  ∑                              -            L                    /          2                          L          /          2                    ⁢                          ⁢                        h          l                ·                  b                      n            -            l                                ,where xn is an element of the vector x(b) and hl is its impulse response.
From Proakis, an n-th decoded bit, {circumflex over (b)}n,MLSD, of an optimal maximum-likelihood sequence detection (MLSD) decoder can be represented as:
                    b        ^                    n        ,        MLSD              =                            arg          ⁢                                          ⁢          max                                      b            ~                    n                    ⁢              {                              max                                          b                _                            :                                                b                  ~                                n                                              ⁢                      P            ⁡                          (                                                r                  _                                |                                                      x                    _                                    ⁡                                      (                                          b                      _                                        )                                                              )                                      }              ,where P(r|x(b)) is a conditional probability of r given x(b), and “b:bn” stands for all the possible b (i.e., a sequence) consistent with bn (i.e., a bit). However, those skilled in the art can understand that an optimal MLSD decoder may be difficult to implement.
A sub-optimal MLSD decoder may be developed by assuming noise as additive Gaussian noise of which an n-th decoded bit {circumflex over (b)}n,s-MLSD may be represented as:
            b      ^              n      ,              S        -        MLSD              =                    arg        ⁢                                  ⁢        min                              b          ~                n              ⁢                  {                              min                                          b                _                            :                                                b                  ~                                n                                              ⁢                                                                                    r                  _                                -                                                      x                    _                                    ⁡                                      (                                          a                      _                                        )                                                                                      2                          }            .      
The abovementioned bitwise decoder may be replaced by another sub-optimal MLSD decoder for enhancing coding gains. FIG. 2B is a block diagram illustrating the frequency discriminator 110 and a sub-optimal MLSD decoder, that is, a Viterbi decoder (VD) 200. However, those skilled in the art can easily understand that a Viterbi decoder may be too complicated to implement unless the number of its trellis states can be reduced to 4 or 8, which is also known as a “truncated” Viterbi decoder.
Laurent proposed a linear approximation so that a simplified c0 matched filter may be used as an approximated matched-filter receiver for implementing the optimal decoder. However, for applications such as the Bluetooth, the modulation index h of the GFSK modulation may be between 0.28 and 0.35. The Viterbi decoder proposed in Soltanian may be vulnerable to inaccuracies in such modulation index h, whereby it was shown to be robust only for variations of the modulation index h within 0.01 (i.e., |Δh|≦0.01). Similarly, a proposed Laurent-decomposition-based near-optimum receiver may be found to require a very accurate h estimate.
It may therefore be desirable to have a sub-optimal receiver with a decoder which is simple and robust to the uncertain parameters, and applicable to single-carrier communication systems using the GFSK modulation for demodulating and/or decoding a GFSK signal.